package com.ruoyi.dataBase.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 填报对象业务对象 industrial_report_obj
 *
 * @author yangzhen
 * @date 2025-11-07
 */

@Data
@EqualsAndHashCode(callSuper = true)
@Schema(name = "填报对象业务对象",description = "用于填报对象业务对象")
public class IndustrialReportObjBo extends BaseEntity {

    /**
     * 主键id
     */
    @Schema(description = "主键id")
    @NotBlank(message = "主键id不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 填报企业
     */
    @NotBlank(message = "填报企业不能为空", groups = { AddGroup.class, EditGroup.class })
    @Schema(description = "填报企业")
    private String company;

    /**
     * 填报企业分类
     */
    @NotBlank(message = "填报企业分类不能为空", groups = { AddGroup.class, EditGroup.class })
    @Schema(description = "填报企业分类")
    private String companyType;

    /**
     * 社会统一信用代码
     */
    @NotBlank(message = "社会统一信用代码不能为空", groups = { AddGroup.class, EditGroup.class })
    @Schema(description = "社会统一信用代码")
    private String unifiedSocialCode;

    /**
     * 联系人
     */
    @NotBlank(message = "联系人不能为空", groups = { AddGroup.class, EditGroup.class })
    @Schema(description = "联系人")
    private String contact;

    /**
     * 联系方式
     */
    @NotBlank(message = "联系方式不能为空", groups = { AddGroup.class, EditGroup.class })
    @Schema(description = "联系方式")
    private String phone;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    @Schema(description = "备注")
    private String remark;

    /**
     * 数据状态
     */
    @NotNull(message = "数据状态不能为空", groups = { AddGroup.class, EditGroup.class })
    @Schema(description = "数据状态")
    private Long dataStatus;
    @Schema(description = "创建时间")
    private Date beginCreateTime;
    @Schema(description = "结束时间")
    private Date endCreateTime;
    @Schema(description = "创建时间")
    private Date beginUpdateTime;
    @Schema(description = "结束时间")
    private Date endUpdateTime;
}
